/**
 * @param {* hasAuth } 当前按钮需要权限
 * @param {* authLabel } 当前按钮权限所需判断的名称，默认如果没有，就用按钮名称label判断
 * @param {* label } 当前按钮名称
*/
export const getFilterListByCanShowBtn = (actionList, showBtn) => {
  let authList = actionList
  // 当前按钮通过权限校验
  const isHasAuth = item => {
    if (!item.hasAuth) return true // 不需要进行权限校验
    const authResult = item.hasAuth && showBtn(item.authLabel ?? item.label) // 需要进行权限校验的校验结果
    return authResult
  }
  const isCanShow = item => !(item.canShow == false) // 当前按钮没有特殊有不展示按钮逻辑，可以正常展示
  if (showBtn) { // 如果没有showBtn方法，默认都不需要权限判断
    authList = actionList.filter(item => isHasAuth(item))
  }
  const finalList = authList.filter(item => isCanShow(item)) // 过滤某些特殊有不展示按钮逻辑的btn
  return finalList
}

// 获取导入按钮Size
export const getButtonSizeByImport = (item) => {
  if (item.hasNoSize) { return }
  const size = item.size || 'large'; // 不传size时，默认值为large
  return size;
}
